Field
This disclosure is generally related to measuring the display performance of remotely executed applications. More specifically, this disclosure is related to performing and monitoring various workloads at a client device to measure the display performance of remote applications, such as a virtual desktop.
Related Art
The relentless growth of the Internet and ever-decreasing costs of bandwidth and computing power have created an unprecedented market for distributed computing. As a result, an increasing number of software applications are offered as services to end users over the network. These applications typically reside on a remote host, and the user interface is transmitted over the network and presented at a client device.
One such example is the virtual desktop infrastructure (VDI), which can include one or more servers that are used to host a virtualized desktop for a remote user. The virtual desktop servers may belong to a computer cluster or a data center, and are configured to provide a remote user interface to the user's client device over a network. The term “desktop” generally refers to a productivity environment, which typically receives mouse and keyboard inputs from the user and provides a graphical user interface (GUI) as an output. The user can use the mouse and keyboard to interact with software executing on a remote host system.
The virtual desktop is typically generated by an operating system, such as Microsoft Windows®, Linux, Mac OSX®, etc. The operating system and software applications can reside on a physical computer (e.g., a blade server in a data center), or within a virtual machine residing on a physical computer. A virtual desktop server includes software that captures the display output from the desktop, and optionally encodes the display output in a compressed format for transmission over a network to the user's client device.
However, the available bandwidth between a virtual desktop server (or a remote application in general) and a client device can vary due to, for example, network congestion. A virtual desktop server at one location may have a faster connection to the client device than another server at a different location. Further, the amount of required bandwidth for transmitting the desktop output can vary depending on the user's activity. Therefore, the user's experience is subject to the tasks being performed by the user. However, it is oftentimes difficult to determine whether a particular VDI configuration can adequately meet the needs of its users based on their intended activity.